#ifndef _DWARF_FORT_STATE_LISTENER_H
#define _DWARF_FORT_STATE_LISTENER_H

#include "StandardDefines.h"


namespace Main
{
	class Logger;
};



namespace DwarfFort
{
	class StateMirror;
	class StateListener
	{
		friend class StateMirror;
	public:	
		~StateListener();

	protected:
		StateListener(eGameState gameState);
		virtual void stateRemoved() {};
		virtual void stateCreated() {};

		// per frame update routine - level 0 is the top other values signify level below the top
		virtual void stateUpdate(int level) {};
	private:
		eGameState mGameState;
	};

};


#endif